package com.company.www;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;


public class HomeWork3 {
	/*
	3)、使用TCP网络编程完成用户登录功能：客户端输入用户名和密码，
	向服务器发出登录请求；服务器接收数据并进行判断，
	如果用户名和密码均是bjsxt，则登录成功，否则登录失败，
	返回相应响应信息；客户端接收响应信息并输出登录结果。
(1) 用户User类已提供构造方法 public User(String username,String password)。
(2) 客户端采用ObjectOutputStream发送封装了用户名和密码的User对象。
	 */
	public static void main(String[] args) {
		ServerSocket serverSocket = null;
		try {//创建服务器8800端口
			serverSocket = new ServerSocket(8800);
			System.out.println("服务器已经打开");
			Socket socket = serverSocket.accept();
			System.out.println("已经跟客户端接通");
			InputStream is = socket.getInputStream();
			ObjectInputStream ois = new ObjectInputStream(is);
			User user = (User) ois.readObject();
			OutputStream os=socket.getOutputStream();
			
			if (user.getUsername().equals("bjsxt") && user.getPassword().equals("bjsxt")) {
				System.out.println("我是服务器，客户端的登录信息是：" + user.getUsername() +
						"，密码是：" + user.getPassword());
				String  reply="欢迎登录成功";
				os.write(reply.getBytes());
			}else{
				System.out.println("账号密码不对");
				String  reply="抱歉登录失败";
				os.write(reply.getBytes());
			}
			
			os.close();
			ois.close();
			is.close();
			socket.close();
			serverSocket.close();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
